package com.ynet.middleground.riskmanage.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 大港-（静态）质押监管
 * </p>
 *
 * @author zhangyongbin
 * @since 2020-08-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("rm_dg_pledge_static")
public class DgPledgeStatic extends Model<DgPledgeStatic> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 中文船名
     */
    private String shipNameCh;

    /**
     * 英文船名
     */
    private String shipNameEn;

    /**
     * 船号
     */
    private String shipCycleId;

    /**
     * 货号
     */
    private String cargoNo;

    /**
     * 航次
     */
    private String invoyage;

    /**
     * 入库日期
     */
    private LocalDateTime berthdate;

    /**
     * 货名代码
     */
    private String cargoNameCode;

    /**
     * 货名
     */
    private String cargoName;

    /**
     * 规格（空）
     */
    private String formatSizeName;

    /**
     * 垛名
     */
    private String cargoShortname;

    /**
     * 垛号(空)
     */
    private String stackNo;

    /**
     * 数量
     */
    private BigDecimal shipCabinQty;

    /**
     * 重量
     */
    private BigDecimal shipCabinWeight;

    /**
     * 指令（ZYJG-质押监管/JCZYJG-解除质押监管）
     */
    private String orders;

    /**
     * 结果（1 质押监管成功; 2 质押监管失败; 3 解除质押监管成功; 4 解除质押监管失败；5 换货成功；6 换货失败）
     */
    private String result;

    /**
     * 原因
     */
    private String reson;

    /**
     * 是否换货
     */
    private Boolean isExchange;

    /**
     * 换货关联主键
     */
    private Integer relatedId;

    /**
     * 渠道
     */
    private String channel;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 创建者
     */
    private Integer createBy;

    /**
     * 更新时间
     */
    private LocalDateTime gmtModified;

    /**
     * 更新者
     */
    private Integer modifiedBy;
    
    /**
     * 是否部分解除
     */
    private Boolean isPartialRelease;
    
    /**
     * 解除时必填，用于解除时和之前原质押的数据关联
     */
    private Integer relatedTrendId;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
